home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1989 July / 64er_Magazin_89-07_1989_Markt__Technik_de_Side_A.d64 / teil 2.listing 3 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  67 lines

  1. 10 .ba 49152                ;programmstart
  2. 20 .gl irqvec = $0314       ;irq-vektor
  3. 30 .gl irqalt = $ea31       ;alte irq-routine
  4. 40 .gl vic    = $d000       ;basisadresse des vic
  5. 50 .gl irqmask= vic+26      ;irq-maskenregister
  6. 60 .gl irqflag= vic+25      ;irq-requestregister
  7. 70 .gl raster = vic+18      ;rasterzeilenregister
  8. 80 .gl border = vic+32      ;rahmenfarbe-register
  9. 90 .gl oben   = 100         ;obere rasterzeile
  10. 100 .gl unten  = 200         ;untere rasterzeile
  11. 110 .gl hibit  = vic+17      ;bit 8 der rasterzeilennummer
  12. 120 ;
  13. 200 init sei;irq sperren
  14. 210  lda#oben;irq fuer rasterzeile 100
  15. 220  staraster
  16. 230  ldahibit;bit 8 loeschen
  17. 240  and#127
  18. 250  stahibit
  19. 260  lda#129;irq maskieren
  20. 270  stairqmask;raster-irq
  21. 280  lda#<(irqneu);irq-vektor auf neue
  22. 290  ldx#>(irqneu);irq-routine stellen
  23. 300  stairqvec
  24. 310  stxirqvec+1
  25. 320  cli;irq wieder zulassen
  26. 330  rts;und zurueck...
  27. 340 ;
  28. 350 deinit sei;irq sperren
  29. 360  lda#0;alle bits im masken-
  30. 370  stairqmask;register loeschen
  31. 380  lda#<(irqalt);vektor auf alte
  32. 390  ldx#>(irqalt);irqroutine stellen
  33. 400  stairqvec
  34. 410  stxirqvec+1
  35. 420  cli;irq wieder zulassen
  36. 430  lda#14;normale rahmenfarbe
  37. 440  staborder;einstellen
  38. 450  rts;und zurueck...
  39. 460 ;
  40. 470 irqneu ldairqflag;vic-irq-flags lesen
  41. 480  stairqflag;und wieder schreiben
  42. 490  bmivicirq;wenn bit 7 gesetzt, dann vicirq
  43. 500  jmpirqalt;sonst zur alten irq-routine
  44. 510 ;
  45. 520 vicirq ldaraster;rasterzeilenregister lesen
  46. 530  cmp#unten;groesser/gleich 200 ?
  47. 540  bcsoldcolor;ja, dann alte ramenfarbe
  48. 550 ;
  49. 560 newcolor lda#6;sonst neue rahmenfarbe
  50. 570  staborder
  51. 580  lda#unten;naechster irq bei zeile 200
  52. 590  staraster
  53. 600 ;
  54. 610 irqreturn pla;register zurueckholen
  55. 620  tay
  56. 630  pla
  57. 640  tax
  58. 650  pla
  59. 660  rti;und mit rti zurueck...
  60. 670 ;
  61. 680 oldcolor lda#14;alte ramenfarbe
  62. 690  staborder
  63. 700  lda#oben;naechster irq bei zeile 100
  64. 710  staraster
  65. 720  jmpirqreturn;und irq beenden...
  66. 60000 .en
  67.